*/ private $oldToNewClasses = []; public function reset() : void { $this->oldToNewClasses = []; } /** * keep public modifier and use internally on matchClassName() method * to keep API as on Configuration level */ public function hasOldClass(string $oldClass) : bool { return isset($this->oldToNewClasses[$oldClass]); } /** * @param array $oldToNewClasses */ public function addOldToNewClasses(array $oldToNewClasses) : void { /** @var array $oldToNewClasses */ $oldToNewClasses = \array_merge($this->oldToNewClasses, $oldToNewClasses); $this->oldToNewClasses = $oldToNewClasses; } /** * @return array */ public function getOldToNewClasses() : array { return $this->oldToNewClasses; } public function matchClassName(ObjectType $objectType) : ?ObjectType { $className = $objectType->getClassName(); if (!$this->hasOldClass($className)) { return null; } return new ObjectType($this->oldToNewClasses[$className]); } /** * @return string[] */ public function getOldClasses() : array { return \array_keys($this->oldToNewClasses); } }